package com.vaye.im.controller;

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Arrays;
import java.util.List;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import lombok.extern.slf4j.Slf4j;

/**
 * 健康检查
 *
 * @author wangzhiyong
 * @module admin
 * @date 2023年01月18日 下午4:15
 */
@RestController
@Slf4j
public class HealthCheckController {

  @GetMapping("excute")
  public String excute() {
    log.info("excute");
    List<Integer> list = Arrays.asList(1, 2, 3);
    List<Integer> list2 = Arrays.asList(4, 5, 6);
    // 合并两个列表
    list.addAll(list2);
    log.info("list: {}", list);
    return "ok";
  }

  /**
   * 获取服务器当前时间
   *
   * @param source 请求来源
   * @return 格式化后的服务器当前时间
   */
  @GetMapping("/serverTime")
  public String getServerTime(@RequestParam String source) {
    try {
      // 记录请求来源
      log.info("Source: {}", source);
      // 获取当前时间并格式化
      return LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
    } catch (Exception e) {
      // 记录异常信息
      log.error("Error occurred while getting server time", e);
      e.printStackTrace();
      // 返回错误信息
      return "Error occurred while getting server time";
    }
  }

}
